package com.gi.profiler.model;

import com.gi.profiler.utils.DataConstants;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;

/**
 * @author Ruba
 * 
 */
@DatabaseTable
public class SoundSettings {

    @DatabaseField(generatedId = true)
    private int id;

    @DatabaseField(foreign = true, foreignAutoCreate = true)
    private VolumeSettings volumeSettings;

    @DatabaseField
    private int ringMode = DataConstants.NO_CHANGE;

    /** The mediaFile. */
    @DatabaseField(foreign = true, canBeNull = true)
    private MediaFile mediaFile;

    /** The notification sonud. */
    @DatabaseField(foreign = true, canBeNull = true)
    private MediaFile notifSound;

    public SoundSettings() {

    }

    public SoundSettings(VolumeSettings volumeSettings, int ringMode) {
	super();
	this.volumeSettings = volumeSettings;
	this.ringMode = ringMode;
    }

    
    public SoundSettings(VolumeSettings volumeSettings, int ringMode, MediaFile mediaFile,
	    MediaFile notifSound) {
	super();
	this.volumeSettings = volumeSettings;
	this.ringMode = ringMode;
	this.mediaFile = mediaFile;
	this.notifSound = notifSound;
    }

    /**
     * @return the id
     */
    public int getId() {
	return id;
    }

    /**
     * @return the volumeSettings
     */
    public VolumeSettings getVolumeSettings() {
	return volumeSettings;
    }

    /**
     * @return the ringMode
     */
    public int getRingMode() {
	return ringMode;
    }

    /**
     * @return the mediaFile
     */
    public MediaFile getMediaFile() {
	return mediaFile;
    }

    /**
     * @return the notifSound
     */
    public MediaFile getNotifSound() {
	return notifSound;
    }

    /**
     * @param id
     *            the id to set
     */
    public void setId(int id) {
	this.id = id;
    }

    /**
     * @param volumeSettings
     *            the volumeSettings to set
     */
    public void setVolumeSettings(VolumeSettings volumeSettings) {
	this.volumeSettings = volumeSettings;
    }

    /**
     * @param ringMode
     *            the ringMode to set
     */
    public void setRingMode(int ringMode) {
	this.ringMode = ringMode;
    }

    /**
     * @param mediaFile
     *            the mediaFile to set
     */
    public void setMediaFile(MediaFile mediaFile) {
	this.mediaFile = mediaFile;
    }

    /**
     * @param notifSound
     *            the notifSound to set
     */
    public void setNotifSound(MediaFile notifSound) {
	this.notifSound = notifSound;
    }

}
